home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 7784 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.8 KB

  1. Path: access4.digex.net!not-for-mail
  2. From: ell@access4.digex.net (Ell)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: Pure Virtual Destructor Question
  5. Date: 18 Feb 1996 23:23:40 GMT
  6. Organization: The Universe
  7. Message-ID: <4g8cds$7do@news4.digex.net>
  8. References: <4fas7a$7ns@comet2.magicnet.net> <4fecq0$k4e@news4.digex.net> <rcauvin-0902960901140001@quadostimpy.natinst.com> <4fp5r2$dm2@news4.digex.net> <rcauvin-0602960913040001@quadostimpy.natinst.com> <4fqmp5$pbi@stc06.ctd.ornl.gov>
  9. NNTP-Posting-Host: access4.digex.net
  10. X-Newsreader: TIN [UNIX 1.3 950824BETA PL0]
  11.  
  12. Matt Kennel (kennel@msr.epm.ornl.gov) wrote:
  13. : Roger L. Cauvin (rcauvin@natinst.com) wrote:
  14. : > 2.  The abstractness of a class is conceptual and does not depend on it
  15. : > declaring a function with no implementation.  
  16.  
  17. The ARM and DWP say an abstract class is where at least one function is 
  18. declared with the pure specifier '=0'.
  19.  
  20. : > All that abstractness
  21. : > implies is that it is not appropriate to instantiate an object of the
  22. : > class directly, since the class is incompletely defined.  
  23.  
  24. I'll stick with the ARM and DWP on this one.
  25.  
  26. : > Providing a
  27. : > default implementation for a function, but declaring it pure virtual,
  28. : > indicates that the implementation is incomplete and must be completed by
  29. : > derived classes.
  30.  
  31. However, the defintion should be "complete" for the abstract class where
  32. the pure virtual was declared.
  33.  
  34. : Perhaps then, we should call these "incomplete" or "partial" classes,
  35. : instead of "abstract classes".  This better expresses the notion of 
  36. : "not instantiable" rather than "provides specification". 
  37. : I would prefer to reserve the term "abstract class" for classes which
  38. : only specify and do not implement anything. 
  39.  
  40. Again, I'll stick with the ARM and DWP on what is or isn't an "abstract 
  41. class".
  42.  
  43. Elliott
  44.